package com.junzhiit.nengji.shop.dao;

import java.util.Date;
import java.util.List;

import com.bainaeco.framework.base.dao.BaseDAO;
import com.junzhiit.nengji.shop.bo.AnalysisBO;
import com.junzhiit.nengji.shop.bo.HomeTableBO;
import com.junzhiit.nengji.shop.bo.TransactionAnalysisBO;
import com.junzhiit.nengji.shop.model.Transaction;

public interface TransactionDAO extends BaseDAO<Transaction> {
	/**
	 * 
	 * TODO 交易分析
	 * 
	 * @author Qjen
	 * @time 2018年4月10日 下午4:33:20
	 * @return TransactionAnalysisBO
	 *
	 */
	public TransactionAnalysisBO getTransactionAnalysis(String shopId,Integer analysisType,String date);
	
	/**
	 * 
	 * TODO 交易分析
	 * 
	 * @author Qjen
	 * @time 2018年4月10日 下午4:33:20
	 * @return TransactionAnalysisBO
	 *
	 */
	public TransactionAnalysisBO getTransactionAnalysis(String shopId,Date startTime,Date endTime);
	
	/**
	 * 
	 * TODO 交易统计分析
	 * 
	 * @author Qjen
	 * @time 2018年4月12日 下午7:29:05
	 * @return List<AnalysisBO>
	 *
	 */
	public List<AnalysisBO> findAllTransactionAnalysis(String shopId,Integer status,Integer analysisType, Date date);

	/**
	 * 
	 * TODO 交易统计分析
	 * 
	 * @author Qjen
	 * @time 2018年4月12日 下午7:29:05
	 * @return List<AnalysisBO>
	 *
	 */
	public List<AnalysisBO> findAllTransactionAnalysis(String shopId,Integer status,Date startTime,Date endTime);
	
	/**
	 * 
	 * TODO 获得交易分析数据
	 * 
	 * @author Qjen
	 * @time 2018年4月16日 上午10:54:03
	 * @return List<TransactionAnalysisBO>
	 *
	 */
	public List<TransactionAnalysisBO> findAll(String shopId,Integer days);
	
	/**
	 * 
	 * TODO 统计连锁品牌的下单数据
	 * @author Zaki
	 * @time 2018年6月14日 下午3:07:16
	 * @return List<AnalysisBO>
	 */
	public List<AnalysisBO> findChainOrdersTransaction(HomeTableBO homeTableBO);
	
	/**
	 * 
	 * TODO 统计连锁品牌的支付数据
	 * @author Zaki
	 * @time 2018年6月14日 下午3:17:05
	 * @return List<AnalysisBO>
	 */
	public List<AnalysisBO> findChainPayTransaction(HomeTableBO homeTableBO);
	
	/**
	 * 
	 * TODO 品牌交易分析
	 * @author Harry
	 * @time 2018年8月3日 上午10:21:07
	 * @return TransactionAnalysisBO
	 */
	public TransactionAnalysisBO getChainTransactionAnalysis(String shopId,Date startTime,Date endTime,String chainId,String date,Integer analysisType);
	
	/**
	 * 
	 * TODO 品牌交易统计分析
	 * @author Harry
	 * @time 2018年8月3日 上午10:22:14
	 * @return List<AnalysisBO>
	 */
	public List<AnalysisBO> findAllChainTransactionAnalysis(String shopId,Integer status,Integer analysisType, String date,String chainId,Date startTime,Date endTime);
	
	/**
	 * 
	 * TODO 获取品牌交易分析详细数据
	 * @author Harry
	 * @time 2018年8月7日 下午3:38:50
	 * @return List<TransactionAnalysisBO>
	 */
	public List<TransactionAnalysisBO> getChainTransactionAnalysisList(String shopId,String chainId,Integer days);
}
